﻿using System;
using Natural.Model;
using System.Diagnostics;
using Natural.Attributes;
using Natural.Helpers;

namespace Natural.Providers
{   
    public sealed class Logger 
    {
        public static void Log(Exception exception)
        {
            Manager.Log(exception);
        }
        public static void Log(ActionContext context)
        {
            Manager.Log(context);
        }
        public static void Log(InvokeContext context)
        {
            Manager.Log(context);
        }
        public static void Log(string logName, string message)
        {
            Manager.Log(logName, message);
        }
        public static void Log(string logName, EventLogEntryType type, string message)
        {
            Manager.Log(logName,type,message);
        }

        private static ILogger Manager
        {
            get { return Solver.Solve("Logger") as ILogger; }
        }
        
    }
}
